package com.usefullc.system.query;

import com.usefullc.common.enums.QueryExpressTypeEnum;
import com.usefullc.common.enums.ValidTypeEnum;
import com.usefullc.system.query.BaseQuery;
import com.usefullc.system.validator.UsefulPropertyVerify;
import com.usefullc.system.service.component.extend.UsefulQueryField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 定时任务模板查询实体
 * @author: 星空
 * @date: 2022-09-06
 */
@ApiModel
@Data
public class JobTemplateQuery extends BaseQuery {

//useful_auto_generate_section_start

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "租户")
    private Long tenantId;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=2, maxLen=50)
    @ApiModelProperty(notes = "名称")
    private String name;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "分类")
    private Integer category;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "运行状态")
    private Integer status;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "是否可用")
    private Integer enabled;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "时间周期")
    private Integer period;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=2, maxLen=100)
    @ApiModelProperty(notes = "时间表达式")
    private String cron;


//useful_auto_generate_section_end

    @UsefulQueryField(type= QueryExpressTypeEnum.IN,columnName = "id")
    private List<Long> ids;

}
